<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE>PureBasic︰ 本机编译器，简单且已优化的BASIC 编程语言</TITLE>

  <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  <meta name="google-site-verification" content="zti3YNYE1fvfAUZxJmB9tv_1gYEBNbl2fapbpBeJxa4" />

        <META NAME="language" content="en">
      <META HTTP-EQUIV="Content-Language" content="en">

  <META NAME="Description" CONTENT="PureBasic.CN 官方网站. PureBasic - 体验纯粹的强大. PureBasic 是一个基于BASIC规定的编程语言">
  <META NAME="abstract" CONTENT="PureBasic.CN 官方网站. PureBasic - 体验纯粹的强大. PureBasic 是一个基于BASIC规定的编程语言">
  <META NAME="Keywords" CONTENT="purebasic,PUREBASIC,pure basic,PURE BASIC,basic,BASIC,compiler,COMPILER,language,LANGUAGE,programming,PROGRAMMING,optimized,OPTIMIZED,easy,EASY,programming language,basic编程语言,basic compiler,BASIC COMPILER,visual basic 编译器,简易编程语言,高度优化编程语言, games, 应用程序, 游戏, 应用, buy, ordering, 订单, Fantaisie Software,pic basic 编译器,c 编译器,c++ 编译器,编译器,qbasic 编译器,asm,计算机 编程,c 编程,游戏编程,编程语言,c,c++,java,visual c++,linux,windows,nt,VisualC++,LccWin32,VisualBasic,visual basic">
  <META NAME="Identifier-URL" CONTENT="http://www.purebasic.cn">
  <META NAME="Robots" CONTENT="index,follow,all">
  <META NAME="revisit-after" CONTENT="2 days">
  <META NAME="Reply-to" CONTENT="100860505@qq.com">
  <META NAME="Author" CONTENT="purebasic (webmaster@purebasic.com), Frederic Laboureur, Frédéric Laboureur, Yann Vanlerberghe, Alphasnd, Alphasound, Fantaisie Software,PureBasic.CN ,麦壳饼,MysticBoy ">
  <META NAME="publisher" content="PureBasic.CN">
  <META NAME="copyright" content="PureBasic.CN">
  <META NAME="rating" content="常规">
  <META NAME="distribution" content="global">
  <META NAME="Category" CONTENT="软件,计算机,编程,编译器,语言,basic">
  <META NAME="date-creation-yyyymmdd" content="20000909">

  <STYLE type="text/css">

    .pagebody
    {
      font-family: Verdana, sans-serif; font-size: 13px;
      line-height: 1.5;
      color: #000000;
    }

    .pagefooter
    {
      font-family: Verdana, sans-serif; font-size: 11px;
      color: #FFFFFF;
    }

    .usercomments
    {
      font-family: Verdana, sans-serif; font-size: 13px;
      line-height: 1.5;
      color: #EFF1F0;
    }

    A.nav:link {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none }
    A.nav:visited {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none}
    A.nav:hover {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: underline}

    A.nav_footer:link {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none }
    A.nav_footer:visited {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none}
    A.nav_footer:hover {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: underline}

    
    .keywords {font-size: 13px; font-weight: normal; font-family: Verdana, sans-serif; line-height: 1.5; }
    .keywordsbold {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; }

    INPUT
    {
      font: 10pt Verdana, Arial;
      color : #000000;
      background-color : #FFFFFF;
    }

    .textform
    {
      font-size: 10pt;
      color: #000000;
      font-family: Verdana, Arial;
    }
    
    /* These 2 styles are needed to have a perfect rendering of tables border (solid color) on
       IE and FireFox
     */
    table.MainTable
    {
      border:2px solid #5A6986;
    }    

    td.Tabs
    {
      border-bottom:2px solid #5A6986;
    }

    /* Here is our trick to remove a line of a TD
     */
    /*.topborder {
    border-top: 1px solid #EFF1F0;
    }*/

    img.flagBorder {
      border: 0px solid #CCCCCC;
    }
    
    tr.ShadowBody
    {
      height:8px;
      background: url(/images/shadow_bottom_body.png);
      background-repeat: repeat-x;
    }

    tr.ShadowFooter
    {
      height:8px;
      background: url(/images/shadow_bottom_footer.png);
      background-repeat: repeat-x;
    }

  </STYLE>

  
  
  
</HEAD><!-- HEADER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


<BODY bgColor="White">

<table width="900" class="MainTable" border="0" cellspacing="0" cellpadding="0" align="center" id="language">
    <TR bgColor="#999999" id="basic">
        <td colspan="2" align="left" nowrap bgcolor="#5A6986" id="visual">
            <table width=100% border="0" cellpadding="0" cellspacing="0" id="compiler">
                <tr>
                    <td rowspan="2" id="compiler">
                      <IMG id="visual" name="basic" alt="Pure Basic : 已优化的BASIC编译器" border=0 height=68 src="images/logopb.gif" width=381>
                    </td>

                    <td valign="top" id="basic"><div align="right" id="compiler"><font class="pagebody" color="#FFFFFF">
                      
                      <table border="0" cellspacing="0" cellpadding="1">
                        <tr><!-- <td width=20 > <A class="nav" style="COLOR: #FFFFFF" href="/german/news48.php"><img class="flagBorder" src=/images/de.png ></a></td> -->
                           
                          <td> <A class="nav" style="COLOR: #FFFFFF" href="german/news48.htm">英语</a>&nbsp;&nbsp;</td>
                        </tr>
                        <tr><!-- <td width=20> <A class="nav" style="COLOR: #FFFFFF" href="/french/news48.php"><img class="flagBorder" src=/images/fr.png ></a></td> -->
                           
                          <td> <A class="nav" style="COLOR: #FFFFFF" href="french/news48.htm">法语</a>&nbsp;&nbsp;</td>
                        </tr>
                      </table>

                    </font></div></td>
                </tr>
                <tr>
                  <td width="100%" height="46"></td>
                </tr>
            </table>
        </td>
    </TR>
    <TR>
    <TD class="Tabs" colspan="2">
         <TABLE width="100%" border="0" cellspacing="0" cellpadding="0" id="language">
             <TR id="optimized">

            <td width="15%" height="26" align="center" bgcolor= "#FFFFFF" id="easy"><A class="nav" href="index.htm" title="Pure Basic : 简介">简介</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#B6C0CE" id="basic"><A class="nav" href="news.htm" title="Pure Basic : 新闻">新闻</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="optimized"><A class="nav" href="download.htm" title="Pure Basic : 下载">下载</font></a></td>
            <td width="1" bgcolor="#999999" id="visual"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="basic"><A class="nav" href="screenshots.htm" title="Pure Basic : 截图">截图</a></td>
            <td width="1" bgcolor="#999999" id="optimized"><IMG id="programming" name="language" alt="已优化的编程语言" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="basic"><A class="nav" href="ordering.htm" title="Pure Basic : 订购 !">订购</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="basic" name="compiler" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="compiler"><A class="nav" href="support.htm" title="Pure Basic : 支持">支持</a></td>
            <td width="1" bgcolor="#999999" id="language"><IMG id="programming" name="language" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="10%" height="21" align="center" bgcolor= "#FFFFFF" id="optimized"><A class="nav" href="faq.htm" title="Pure Basic : FAQ">FAQ</a></td>
            <td width="1" bgcolor="#999999" id="optimized"><IMG id="programming" name="language" alt="已优化的编程语言" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor = "#FFFFFF" id="basic"><A class="nav" href="links.htm" title="Pure Basic : 链接">链接</a></td>

                </TR>
            </TABLE>
        </TD>
    </TR>

    <tr class="ShadowBody"> <td colspan="2"></td> </tr><tr>

    </tr><TR bgcolor="#EFF1F0">
      <TD class="topborder" colspan="2" align="center" valign="top" id="visual">
        <br>
         <TABLE width="850" border="0" cellspacing="0" cellpadding="0" id="programming">
            <TR id="basic"><!-- EOF HEADER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


<TD valign="top" id="easy"><font class="pagebody">
  <div align="left" id="language">
    
  <b id="optimized">8th May 2006</b><br id="programming">
  <br id="language">
  <br id="visual">
  <b id="basic">PureBasic V4.00 (Windows)</b>
  <br id="compilers">
  <br>
  The now famous, hyped version 4.00 of PureBasic is here. Just judge by yourself, there
  is quite a lot of new and sexy looking features. And there is quite a lot of changes as well,
  as we took the opportunity to fix long time standing issues by reworking a bit the commandset,
  all for the best. Don't be affraid, it can look a bit massive, but you will still feel at home
  as absolutely nothing changed about the programming logic. To consult the changes done to the
  libraries, click <A class="nav" href="changes.htm" style="COLOR: #000000">here</a>. Enjoy !<br>
  <br>
  - Added: Native unicode support <br>
  - Added: Subsystems support <br>
  - Added: Unlimited length strings in both ascii and unicode mode <br>
  - Added: Thread safe commandset and strings <br>
  - Added: Character type (.c) <br>
  - Added: Double type (.d) <br>
  - Added: Quad type (.q) <br>
  - Added: 'XOr' and 'Not' logicals operators <br>
  - Added: Fixed string type (String${#Number}) <br>
  - Added: Macro/EndMacro - single and complex mode <br>
  - Added: With/EndWith for cleaner code <br>
  - Added: Assign possibility to Static (quite important), Protected and Global: "Global a = 5" <br>
  - Added: It's now possible to create a linkedlist of pointer <br>
  - Added: Support for Global, Protected, Static and Shared arrays and linkedlist: "Global NewList MyList.l()".<br> 
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NewList alone does not make the list global anymore <br>
  - Added: #PB_Compiler_File, #PB_Compiler_Line, #PB_Compiler_Version, #PB_Compiler_Home, <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#PB_Compiler_Debugger, #PB_Compiler_ThreadSafe, #PB_Compiler_Unicode <br>
  - Added: CompilerError "Message" directive <br>
  - Added: @procedure()and ?Label support in Data.l directive <br>
  - Added: optional parameters for procedures, interfaces methods, and prototypes <br>
  - Added: /CONSTANT Test=Value switch to declare constants on the compiler line <br>
  - Added: Swap keyword to quickly swap 2 variables or elements (Swap a,b). <br>
  - Added: multiple 'Case' for Select/EndSelect: Case 1, 2, 6 To 20 <br>
  - Added: 'Prototype' keyword to declare functions pointers easily <br>
  - Added: 'ProcedureC' keyword to declare cdecl procedure easily <br>
  - Added: Procedure parameters can now have the same name than a global variable <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(automatically protected) <br>
  - Added: EnableExplicit/DisableExplicit: variables must be declared with Define, Global, Protected, Shared
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or Static. <br>
  - Added: Defined(Name, Type) compiler function. Type can be #PB_Constant, #PB_Variable, #PB_Array, <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#PB_LinkedList, #PB_Structure, #PB_Interface <br>
  - Added: ReDim for single and multi-dimensionned arrays <br>
  - Added: Import/ImportC/EndImport to import functions and variables from external .lib <br>
  - Added: LinkedList and Arrays can now be passed as procedure parameters <br>
  - Added: /LINKER flags to provide a command file directly to the linker <br>
  - Added: PseudoTypes: p-ascii, p-unicode and p-bstr to use with 'Prototype' and 'Interface' <br>
  - Added: Assembler and Linker errors for CLI compiler are now directly displayed <br>
  - Added: OpenGL subsystem for multimedia applications (can be combined with NT4 one) <br>
  - Added: full alphachannel support for Sprite3D library (trough PNG and TIFF) <br>
  - Added: Subsystem() compiler directive to check if a subsystem is in use <br>
  - Added: exponent form for constant float: 123.5e-20 <br>
  - Added: local variables aliases are generated when using '!' raw assembly to ease their referencing (in 
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the form p.v_variable) <br>
  - Added: 'Step over' and 'Step out' features to the debugger <br>
  - Added: Process library <br>
  <br>
  - Updated: NT4 support is now done trough a subsystem (DirectX 3) <br>
  - Updated: Resident files now supports quad, double, macros and prototypes <br>
  - Updated: Many library commands <br>
  - Updated: OGRE engine to 1.0.7 version <br>
  - Updated: The french documentation has been greatly enhanced <br>
  - Updated: File library supports 64 bits files<br>
  <br>
  - Optimized: Smaller executable footprint: 1,5 kb instead of 2,5 kb for the smallest one <br>
  - Optimized: Faster float and litteral numeric mixing <br>
  - Optimized: File library completely rewritten and now handle a read/write cache for very fast performances. <br>
  - Optimized: Procedures are now as small as possible, which should give some speed increase <br>
  <br>
  - Changed: Console library commands can now fully redirected (ie: to write CGI for example) <br>
  - Changed: When a numeric parameter is expected, it's not possible to pass a string anymore <br>
  - Changed: Temporary purebasic.exe name aren't random anymore, to comply with some firewalls <br>
  - Changed: 'DefType' renamed to 'Define' <br>
  <br>
  - Fixed: Internal system functions no more trash reserved registers <br>
  
  - Fixed: Mouse is automatically released in windowed mode when the window loose focus <br>
  - Fixed: KeyboardInkey() now handle shift/alt modifiers correctly <br>
  - Fixed: IsScreenActive() works correctly for windowed mode as well <br>
  - Fixed: A lot of small/medium issues which have arosen since the last version <br>
  </div>
</TD><!-- FOOTER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


                </TR>
            </TABLE>
            <br>
        </td>
    </TR>
    <TR height="28" id="easy">
      <TD align="left" bgcolor="#5A6986" id="language">
        <font class="pagefooter">&nbsp;&nbsp;Copyright © 2016 PureBasic.CN </font>
      </TD>
      <TD align="right" bgcolor="#5A6986" id="compiler">
        <font class="pagefooter"><b><A class="nav_footer" href="mailto:100860505@qq.com" style="COLOR: #FFFFFF" title="Pure Basic : 中文支持">100860505@qq.com</A></b>&nbsp;&nbsp;</font>
      </TD>
    </TR>
</TABLE>

<table width="770" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr class="ShadowFooter"> <td colspan="2"></td> </tr><tr>
</tr></table>


<br>

<table class="MainTable" id="language" align="center" border="0" cellpadding="0" cellspacing="0" width="900">
	<tr bgcolor="#EFF1F0">
		<td class="topborder" align="center" valign="top">
			<br>
			<table align="center" border="0" cellpadding="0" cellspacing="0" width="850">
				<tr>
					<td bgcolor="#FFFFFF" valign="middle"><a title="BASIC编程网络语言" href="http://www.spiderbasic.cn" target="_blank"><img src="logo-spiderbasic.png"></a></td>
					<td bgcolor="#FFFFFF">
						<div class="pagebody" align="center">
							相同的作者,探索新的WEB前端编程语言<br>基于BASIC准则 详情点击<a title="BASIC编程网络语言" href="http://www.spiderbasic.cn" target="_blank">spiderbasic.cn</a>
						</div>
					</td>
				</tr>
			</table>
			<br>
		</td>
	</tr>
	
</table>
<br>

</BODY>
</HTML><!-- EOF FOOTER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->

    
